#ifndef MEDIALIB_H__
#define MEDIALIB_H__


struct mlib_chn_list_st
{
    chnid_t chnid;
    char *desc;
}__attribute__((packed));

struct mlib_chn_data_st
{
	chnid_t chnid;
	ssize_t	datasize;
	uint8_t data[1];
}__attribute__((packed));




//int mlib_getchnlist(struct mlib_chn_list_st **,int *);
/*
 *
 * 此函数由main函数调用
 * 
 *参数1：由函数回填结构体数组的首地址
 *参数2：由函数回填结构体数组长度
 * 
 * 遍历目录得到文件的路径放到数组中
 *	
 *	 结构体数组：
 *			chnid	频道号
 *			*desc	各频道描述文件内容
 *
 *
 *
 *
 * */

//int mlib_freechnlist(struct mlib_chn_list_st **, int);
/*
 *
 * 此函数由main函数最后调用
 * 参数1：结构体数组首地址
 * 参数2：结构体数组长度
 * 负责free 上面的函数申请的内存
 *			desc指向的内存
 *			结构体数组的内存
 *
 *
 * */

struct mlib_chn_data_st *mlib_getchndata(chnid_t);
/*
 * 此函数由main函数调用
 * 
 *参数1：由函数回填结构体数组的首地址
 *参数2：由函数回填结构体数组长度(频道数)
 * 
 * 遍历目录得到文件的路径放到数组中
 *
 *	  结构体数组：
 *			chnid	频道号
 *			*data	频道下各mp3文件数据
 * */	
int mlib_freechndata(struct mlib_chn_data_st *);
/*
 *
 * 此函数由main函数最后调用
 * 参数1：结构体数组首地址
 * 参数2：结构体数组长度
 * 负责free 上面的函数申请的内存
 *			data_path指向的内存
 *			结构体数组的内存
 *
 *
 * */



#endif



